var ordencomprasnotaingreso = {
	init:function(){
		$('#notaingresosordencompras').jqGrid({
           url:'notaingresos/ordenCompraNotaIngreso',
           datatype:'json',
           mtype:'POST',
           colNames:['id','Numero','Proveedor','Moneda','Fecha','Estado OC'],
           colModel:[
               {name:"data[Ordencompra][id]",hidden:true},
               {name:"data[Ordencompra][numero]",index:'Ordencompra.numero',align:"right",width:40,align:'center',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
               {name:"data[Ordencompra][proveedor_id]",index:'Proveedor.razonsocial',width:250,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
               {name:"data[Ordencompra][moneda_id]",index:'Moneda.nombre',width:50,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
               {name:"data[Ordencompra][created]",index:'Ordencompra.created',width:60,align:'center',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"data[Ordencompra][ordencompraestado_id]",index:'Ordencompraestado.descripcion',width:80,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}}               
           ],
           pager:$('#notaingresosordencompras-pager'),
           rowNum:10,
           rowList:[10,20,30],
           viewrecords:true,
           caption:'Ordencompras para Notas de Ingreso',
           height:'300',
           sortname: "Proveedor.razonsocial",
		   toolbar: [true,"top"]             
       });
	   
	   $("#t_notaingresosordencompras").append("<input type='button' id='ordencompraagregarnotaingreso' value='Generar nota ingreso' style='height:20px;font-size:-3'/>"); 
	   	
		$("#t_notaingresosordencompras input").click(function(){ 
			
			if($(this).attr('id') == 'ordencompraagregarnotaingreso'){
				var ordencompra_id = jQuery("#notaingresosordencompras").jqGrid('getGridParam','selrow');
				
				if(isNaN(parseFloat(ordencompra_id))){
					$.ajax({
						type:'POST',
						url:'menus/mensaje',
						data:{ mensaje:"Por favor seleccione una orden de compra",titulo:"Nota Ingreso" },
						success:function(data){
							$("body").append(data);
							$("#mensajeDialogo").dialog(
								{bgiframe:true,resizable:false,height:170,modal:true,autoOpen:true,
								 overlay:{backgroundColor:'#000',opacity:0.5},
								 buttons:{ Ok:function(){ $(this).dialog('close'); $(this).remove(); }},
								 close:function(){ $(this).remove(); }
								}
							);
						}
					});
				}else{
					notaIngresoIniciarDialogo(ordencompra_id);
				}
			}
			return false;
		});
	   
	   $('#notaingresosordencompras').navGrid("#notaingresosordencompras-pager",{edit:false,add:false,del:false});
	   $("#notaingresosordencompras").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});
       jQuery("#notaingresosordencompras").jqGrid('setGridWidth',$('#RightPane').width()-50);
	   
	   /** codigo para el la generacion de la nota de ingreso */
		function notaIngresoIniciarDialogo(ordencompra_id){
			$.ajax({
				type:'GET',
				url:"notaingresos/setNotaIngresoOc/"+ordencompra_id,
				success: function(data){
					$('#containernotaingresosordencompras').append(data);
					notaIngresoDialog('Nota de Ingreso por Orden de Compra');
				}
			});
		}
		
		/** Carga el formulario de dialogo de los Ordencompra **/
		function notaIngresoDialog(titulo){
			$("#ordencompraDialog").attr({
				title: titulo
			});
			
			$("#ordencompraDialog").dialog({
				bgiframe: true,
				autoOpen: true,
				height: 500,
				width: 830,
				modal: true,
				buttons: {
					Guardar: function(){
						if ($("#NotaingresoSetActualizarForm").valid()) {
							notaIngresoActualizar();
						}
					},
					Volver: function(){
						$(this).dialog('close');
					}
				},
				close: function(){
					$(this).remove();
				}
				
			});
			
			//valido el formulario orden compra
			var validator = $("#NotaingresoSetActualizarForm").validate();
			
			//muestro el formulario
			$("#ordencompraDialog").removeClass('hide');
		}
		
		/** guarda la nota ingreso **/
		function notaIngresoActualizar(){
			$.ajax({
				type:'POST',
				url:'notaingresos/setActualizar',
				data: $('#NotaingresoSetActualizarForm').serialize(),
				dataType: 'json',
				success:function(response){
					if(!response.respuesta){
						$.post("menus/mensaje",{
							mensaje:"Ha ocurrido un error y no se ha podido actualizar el registro. Intente Nuevamente! <br/>"+response.mensaje,
							titulo:"Fallo al Actualizar"},function(data){
								$("body").append(data);
								$('#mensajeDialogo').dialog({
									autoOpen:true,
									width:200,
									resizable: false,
									modal:true,
									height:170,
									overlay:{
										backgroundColor:'#000',
										opacity:0.5
									},
									buttons:{
										Ok: function(){
											$(this).dialog('close');
											$(this).remove();
										}
									},
									close: function(){
										$(this).remove();
									}
								});
							}
						);
					}else{
						$("#DocumentoNumeroSerie").attr('value',response.numero);
						$.post("menus/mensaje",{
							mensaje:response.mensaje+'<br/><br/>Nota Ingreso Nro:'+response.numero,
							titulo:"Documento Actualizado"},
							function(data){
								$("body").append(data);
								$('#mensajeDialogo').dialog({
									autoOpen:true,
									width:200,
									resizable: false,
									modal:true,
									height:170,
									overlay:{
										backgroundColor:'#000',
										opacity:0.5
									},
									buttons:{
										Ok: function(){
											jQuery("#notaingresosordencompras").trigger('reloadGrid');
											$(this).dialog('close');
											$(this).remove();
											$('#ordencompraDialog').dialog('close');
											$('#ordencompraDialog').remove();
										}
									},
									close: function(){
										$(this).remove();
									}
								});
						 	}
						);
					}
				}
			});
		}
	}
};